#ifndef _APPVIEWIMPL_H_
#define _APPVIEWIMPL_H_

#include <dlcom/cominc.h>

#include <net/inet.h>
#include <net/idns.h>
#include <net/ihttp.h>

//{a7957a54-37cb-42a4-9ee8-599168c2a3d1}
_DEF_CLSID_IMPL(CLSID_AppView, 0xA7957A54, 0x37CB, 0x42A4, 0x9E, 0xE8, 0x59, 0x91, 0x68, 0xC2, 0xA3, 0xD1)

class CAppViewImpl : public IPlugin, public IPluginRun, public CUnknownImp
{
public:
    CAppViewImpl(void);
    virtual ~CAppViewImpl(void);

public:
    BEGIN_STDCOM_MAP
    STDCOM_INTERFACE_ENTRY_UNKNOWN_(IPlugin)
    STDCOM_INTERFACE_ENTRY(IPlugin)
    STDCOM_INTERFACE_ENTRY(IPluginRun)
    END_STDCOM_MAP

    // IPlugin
    std_method(Init)(IBase* pRot, IBase* pBase);
    std_method(Uninit)();

    // IPluginRun
    std_method(Start)(_pid_t pid, unsigned int type);
    std_method(Stop)(unsigned int exit);

private:
    _lComPtr<IRot> m_pRot;
    _lComPtr<IHttp> m_pIHttp;
};
#endif
